﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EventMgrLib;
using SmartMotion.Core.Mgrs;

namespace SmartMotion.Core
{

    #region 全局控制事件

    public class GlobalControlEvent:PubSubEvent<Controller>{}

    public enum Controller
    {
        None,
        Initialize,
        Home,
        Start,
        Pause,
        Continue,
        Stop,
        RunTool,
        RunFlow,
    }

    #endregion

    public class ExitApp:PubSubEvent{}

    public enum WindowName
    {
        ToolBox,
        Debug,
        Parms,
        Solution,
        Property,
        Var,
        Default,
    }
    public class  ShowWindow:PubSubEvent<WindowName> {}

    public class  DebugMessage:PubSubEvent<string>{}


    public class  SelectedObjectChanged : PubSubEvent<object>{}

    public class  ShowEditFrm:PubSubEvent<Flow>{}   

    public enum FileOpt
    {
        None,
        Create,
        Open,
        Save,
        SaveAs,
        Add,
        Del,
        Edit,
    }
    public class  FlowEvent:PubSubEvent<FileOpt>{}

    public class SelectActionChanged:PubSubEvent<ActionItem>{}

    public class RunActionItem:PubSubEvent<ActionItem>{}

    public class DellFlow:PubSubEvent<string>{}

    public class RenameFlow:PubSubEvent<Flow>{}

    public class ProductEvent : PubSubEvent<FileOpt> { }

    public class IOConfigChanged : PubSubEvent { }
}
    